package modelo;
// default package
// Generated 10/10/2014 12:23:10 by Hibernate Tools 4.0.0

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;

import static javax.persistence.GenerationType.IDENTITY;

import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Presupuesto generated by hbm2java
 */
@Entity
@Table(name = "presupuesto", catalog = "eventos_compartidos")
public class Presupuesto implements java.io.Serializable {

	private static final long serialVersionUID = 5810037191733461256L;
	private Integer idPresupuesto;
	private Estadopresupuesto estadopresupuesto;
	private Integer salon;
	private Integer tipoevento;
	private Date fechaEvento;
	private Date fechaPresupuesto;
	private Integer cantidadInvitado;
	private Integer cantidadMinimaInvitados;
	private Integer cantidadMaximaInvitados;
	private Float montoPresupuesto;
	private Set<Menuxpresupuesto> menuxpresupuestos = new HashSet<Menuxpresupuesto>(
			0);
	private Set<Importepresupuesto> importepresupuestos = new HashSet<Importepresupuesto>(
			0);
	private Set<Servicioadicionalxpresupuesto> servicioadicionalxpresupuestos = new HashSet<Servicioadicionalxpresupuesto>(
			0);
	private Set<Servicioadicionalproveedorpresupuesto> servicioadicionalproveedorpresupuestos = new HashSet<Servicioadicionalproveedorpresupuesto>(
			0);
	private Set<Combobebidaxpresupuesto> combobebidaxpresupuestos = new HashSet<Combobebidaxpresupuesto>(
			0);

	public Presupuesto() {
	}

	public Presupuesto(
			Estadopresupuesto estadopresupuesto,
			Integer salon,
			Integer tipoevento,
			Date fechaEvento,
			Date fechaPresupuesto,
			Integer cantidadInvitado,
			Integer cantidadMinimaInvitados,
			Integer cantidadMaximaInvitados,
			Float montoPresupuesto,
			Set<Menuxpresupuesto> menuxpresupuestos,
			Set<Importepresupuesto> importepresupuestos,
			Set<Servicioadicionalxpresupuesto> servicioadicionalxpresupuestos,
			Set<Servicioadicionalproveedorpresupuesto> servicioadicionalproveedorpresupuestos,
			Set<Combobebidaxpresupuesto> combobebidaxpresupuestos) {
		this.estadopresupuesto = estadopresupuesto;
		this.salon = salon;
		this.tipoevento = tipoevento;
		this.fechaEvento = fechaEvento;
		this.fechaPresupuesto = fechaPresupuesto;
		this.cantidadInvitado = cantidadInvitado;
		this.cantidadMinimaInvitados = cantidadMinimaInvitados;
		this.cantidadMaximaInvitados = cantidadMaximaInvitados;
		this.montoPresupuesto = montoPresupuesto;
		this.menuxpresupuestos = menuxpresupuestos;
		this.importepresupuestos = importepresupuestos;
		this.servicioadicionalxpresupuestos = servicioadicionalxpresupuestos;
		this.servicioadicionalproveedorpresupuestos = servicioadicionalproveedorpresupuestos;
		this.combobebidaxpresupuestos = combobebidaxpresupuestos;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idPresupuesto", unique = true, nullable = false)
	public Integer getIdPresupuesto() {
		return this.idPresupuesto;
	}

	public void setIdPresupuesto(Integer idPresupuesto) {
		this.idPresupuesto = idPresupuesto;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "estadoPresupuesto")
	public Estadopresupuesto getEstadopresupuesto() {
		return this.estadopresupuesto;
	}

	public void setEstadopresupuesto(Estadopresupuesto estadopresupuesto) {
		this.estadopresupuesto = estadopresupuesto;
	}

	@Column(name = "salon")
	public Integer getSalon() {
		return this.salon;
	}

	public void setSalon(Integer salon) {
		this.salon = salon;
	}

	@Column(name = "tipoevento")
	public Integer getTipoevento() {
		return this.tipoevento;
	}

	public void setTipoevento(Integer tipoevento) {
		this.tipoevento = tipoevento;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "fechaEvento", length = 10)
	public Date getFechaEvento() {
		return this.fechaEvento;
	}

	public void setFechaEvento(Date fechaEvento) {
		this.fechaEvento = fechaEvento;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fechaPresupuesto", length = 19)
	public Date getFechaPresupuesto() {
		return this.fechaPresupuesto;
	}

	public void setFechaPresupuesto(Date fechaPresupuesto) {
		this.fechaPresupuesto = fechaPresupuesto;
	}

	@Column(name = "cantidadInvitado")
	public Integer getCantidadInvitado() {
		return this.cantidadInvitado;
	}

	public void setCantidadInvitado(Integer cantidadInvitado) {
		this.cantidadInvitado = cantidadInvitado;
	}

	@Column(name = "cantidadMinimaInvitados")
	public Integer getCantidadMinimaInvitados() {
		return this.cantidadMinimaInvitados;
	}

	public void setCantidadMinimaInvitados(Integer cantidadMinimaInvitados) {
		this.cantidadMinimaInvitados = cantidadMinimaInvitados;
	}

	@Column(name = "cantidadMaximaInvitados")
	public Integer getCantidadMaximaInvitados() {
		return this.cantidadMaximaInvitados;
	}

	public void setCantidadMaximaInvitados(Integer cantidadMaximaInvitados) {
		this.cantidadMaximaInvitados = cantidadMaximaInvitados;
	}

	@Column(name = "montoPresupuesto", precision = 10, scale = 3)
	public Float getMontoPresupuesto() {
		return this.montoPresupuesto;
	}

	public void setMontoPresupuesto(Float montoPresupuesto) {
		this.montoPresupuesto = montoPresupuesto;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "presupuesto")
	public Set<Menuxpresupuesto> getMenuxpresupuestos() {
		return this.menuxpresupuestos;
	}

	public void setMenuxpresupuestos(Set<Menuxpresupuesto> menuxpresupuestos) {
		this.menuxpresupuestos = menuxpresupuestos;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "presupuesto")
	public Set<Importepresupuesto> getImportepresupuestos() {
		return this.importepresupuestos;
	}

	public void setImportepresupuestos(
			Set<Importepresupuesto> importepresupuestos) {
		this.importepresupuestos = importepresupuestos;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "presupuesto")
	public Set<Servicioadicionalxpresupuesto> getServicioadicionalxpresupuestos() {
		return this.servicioadicionalxpresupuestos;
	}

	public void setServicioadicionalxpresupuestos(
			Set<Servicioadicionalxpresupuesto> servicioadicionalxpresupuestos) {
		this.servicioadicionalxpresupuestos = servicioadicionalxpresupuestos;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "presupuesto")
	public Set<Servicioadicionalproveedorpresupuesto> getServicioadicionalproveedorpresupuestos() {
		return this.servicioadicionalproveedorpresupuestos;
	}

	public void setServicioadicionalproveedorpresupuestos(
			Set<Servicioadicionalproveedorpresupuesto> servicioadicionalproveedorpresupuestos) {
		this.servicioadicionalproveedorpresupuestos = servicioadicionalproveedorpresupuestos;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "presupuesto")
	public Set<Combobebidaxpresupuesto> getCombobebidaxpresupuestos() {
		return this.combobebidaxpresupuestos;
	}

	public void setCombobebidaxpresupuestos(
			Set<Combobebidaxpresupuesto> combobebidaxpresupuestos) {
		this.combobebidaxpresupuestos = combobebidaxpresupuestos;
	}

}
